using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;

namespace PowerManage.API.Controllers;

// [ApiController] 实际上包含了以下特性：它是一个组合注解
// [Controller]: 标记当前类为控制器。
// [Produces("application/json")]: 设置默认的响应内容类型为 JSON。
// [ProducesResponseType(StatusCodes.Status400BadRequest)]: 设置默认的错误响应状态码为 400 Bad Request。
// [Consumes("application/json")]: 设置默认的请求内容类型为 JSON。
// [ApiControllerExceptionFilter]: 提供异常过滤器，用于处理未捕获的异常。
[ApiController]
// [AllowAnonymous] 允许匿名访问，级别高于 [Authorize]
// 若两者同时作用，将生效 [AllowAnonymous]
[Authorize]
public abstract class BaseController : ControllerBase {
}